package cc.aiee.wxpay.model;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import cc.aiee.core.interfaces.PayJsonBeanInterface;
import cc.aiee.core.kit.KitJson;
import lombok.Data;

@Data
public class WxPayRefundModel implements PayJsonBeanInterface{

	private String appid;
	
	@NotBlank
	private String nonce_str;

	private String sign;

	private String sign_type;

	private String transaction_id;

	//@NotBlank
	private String out_trade_no;

	@NotBlank
	private String out_refund_no;

	@NotNull
	@Min(value = 1)
	private Integer total_fee;

	@NotNull
	@Min(value = 1)
	private Integer refund_fee;

	private String refund_fee_type;

	private String refund_desc;

	private String refund_account;

	private String notify_url;

	@Override
	public String toJson() {
		return KitJson.toJSONString(this);
	}

	@Override
	public String toJson(boolean prettyFormat, boolean ignoreNull) {
		return KitJson.toJSONString(this,prettyFormat,ignoreNull);
	}

}
